<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FabGL: VGA16Controller Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">FabGL
   </div>
   <div id="projectbrief">ESP32 Display Controller and Graphics Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classfabgl_1_1_v_g_a16_controller.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classfabgl_1_1_v_g_a16_controller-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">VGA16Controller Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Represents the VGA 16 colors bitmapped controller.  
 <a href="classfabgl_1_1_v_g_a16_controller.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="vga16controller_8h_source.html">vga16controller.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for VGA16Controller:</div>
<div class="dyncontent">
<div class="center"><img src="classfabgl_1_1_v_g_a16_controller__inherit__graph.png" border="0" usemap="#a_v_g_a16_controller_inherit__map" alt="Inheritance graph"/></div>
<map name="a_v_g_a16_controller_inherit__map" id="a_v_g_a16_controller_inherit__map">
<area shape="rect" title="Represents the VGA 16 colors bitmapped controller." alt="" coords="23,80,143,107"/>
<area shape="rect" href="classfabgl_1_1_v_g_a_paletted_controller.html" title="Represents the base class for paletted bitmapped controllers like VGA16Controller,..." alt="" coords="5,5,160,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_ab0bdf5cca484fb2ba637c39384b27fb2.html#ab0bdf5cca484fb2ba637c39384b27fb2">begin</a> ()</td></tr>
<tr class="memdesc:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the 64 colors (8 GPIOs) initializer using default pinout.  <a href="classfabgl_1_1_v_g_a_base_controller_ab0bdf5cca484fb2ba637c39384b27fb2.html#ab0bdf5cca484fb2ba637c39384b27fb2">More...</a><br /></td></tr>
<tr class="separator:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada2833a4d6b69eb90c28a273438735d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_ada2833a4d6b69eb90c28a273438735d6.html#ada2833a4d6b69eb90c28a273438735d6">begin</a> (gpio_num_t red1GPIO, gpio_num_t red0GPIO, gpio_num_t green1GPIO, gpio_num_t green0GPIO, gpio_num_t blue1GPIO, gpio_num_t blue0GPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO)</td></tr>
<tr class="memdesc:ada2833a4d6b69eb90c28a273438735d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the 64 colors (8 GPIOs) initializer.  <a href="classfabgl_1_1_v_g_a_base_controller_ada2833a4d6b69eb90c28a273438735d6.html#ada2833a4d6b69eb90c28a273438735d6">More...</a><br /></td></tr>
<tr class="separator:ada2833a4d6b69eb90c28a273438735d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406a206bc0e13ee2a48591fcfdae6e22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_a406a206bc0e13ee2a48591fcfdae6e22.html#a406a206bc0e13ee2a48591fcfdae6e22">begin</a> (gpio_num_t redGPIO, gpio_num_t greenGPIO, gpio_num_t blueGPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO)</td></tr>
<tr class="memdesc:a406a206bc0e13ee2a48591fcfdae6e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the 8 colors (5 GPIOs) initializer.  <a href="classfabgl_1_1_v_g_a_base_controller_a406a206bc0e13ee2a48591fcfdae6e22.html#a406a206bc0e13ee2a48591fcfdae6e22">More...</a><br /></td></tr>
<tr class="separator:a406a206bc0e13ee2a48591fcfdae6e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811a555ee536c2845522b045cb63f713"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_paletted_controller_a811a555ee536c2845522b045cb63f713.html#a811a555ee536c2845522b045cb63f713">colorsCount</a> ()</td></tr>
<tr class="memdesc:a811a555ee536c2845522b045cb63f713"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines number of colors this display can provide.  <a href="classfabgl_1_1_v_g_a_paletted_controller_a811a555ee536c2845522b045cb63f713.html#a811a555ee536c2845522b045cb63f713">More...</a><br /></td></tr>
<tr class="separator:a811a555ee536c2845522b045cb63f713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2337a67770ebd18e0ced22ba40d79d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enumerations_gadb8147abda8588ce7306a700532148e1.html#gadb8147abda8588ce7306a700532148e1">DisplayControllerType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a2337a67770ebd18e0ced22ba40d79d24.html#a2337a67770ebd18e0ced22ba40d79d24">controllerType</a> ()</td></tr>
<tr class="memdesc:a2337a67770ebd18e0ced22ba40d79d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the display controller type.  <a href="classfabgl_1_1_bitmapped_display_controller_a2337a67770ebd18e0ced22ba40d79d24.html#a2337a67770ebd18e0ced22ba40d79d24">More...</a><br /></td></tr>
<tr class="separator:a2337a67770ebd18e0ced22ba40d79d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaacdb5ed30e79800dfd5e6b7a1a00464"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_aaacdb5ed30e79800dfd5e6b7a1a00464.html#aaacdb5ed30e79800dfd5e6b7a1a00464">createRawPixel</a> (<a class="el" href="structfabgl_1_1_r_g_b222.html">RGB222</a> rgb)</td></tr>
<tr class="memdesc:aaacdb5ed30e79800dfd5e6b7a1a00464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a raw pixel to use with <a class="el" href="classfabgl_1_1_v_g_a_controller_a6922854f04ed5c95f625becd5ef59df2.html#a6922854f04ed5c95f625becd5ef59df2" title="Sets a raw pixel prepared using VGAController.createRawPixel.">VGAController.setRawPixel</a>.  <a href="classfabgl_1_1_v_g_a_base_controller_aaacdb5ed30e79800dfd5e6b7a1a00464.html#aaacdb5ed30e79800dfd5e6b7a1a00464">More...</a><br /></td></tr>
<tr class="separator:aaacdb5ed30e79800dfd5e6b7a1a00464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_abd0898e61591117a7b8dce2fa4b4c4d4.html#abd0898e61591117a7b8dce2fa4b4c4d4">enableBackgroundPrimitiveExecution</a> (bool value)</td></tr>
<tr class="memdesc:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables drawings inside vertical retracing time.  <a href="classfabgl_1_1_bitmapped_display_controller_abd0898e61591117a7b8dce2fa4b4c4d4.html#abd0898e61591117a7b8dce2fa4b4c4d4">More...</a><br /></td></tr>
<tr class="separator:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a1a03e74ed2fb8e2af22e7fd0454ae828.html#a1a03e74ed2fb8e2af22e7fd0454ae828">enableBackgroundPrimitiveTimeout</a> (bool value)</td></tr>
<tr class="memdesc:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables execution time limitation inside vertical retracing interrupt.  <a href="classfabgl_1_1_bitmapped_display_controller_a1a03e74ed2fb8e2af22e7fd0454ae828.html#a1a03e74ed2fb8e2af22e7fd0454ae828">More...</a><br /></td></tr>
<tr class="separator:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9ffd66b73475faf2e93721c4064560"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_aad9ffd66b73475faf2e93721c4064560.html#aad9ffd66b73475faf2e93721c4064560">getBitsPerChannel</a> ()</td></tr>
<tr class="memdesc:aad9ffd66b73475faf2e93721c4064560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets number of bits allocated for each channel.  <a href="classfabgl_1_1_v_g_a_base_controller_aad9ffd66b73475faf2e93721c4064560.html#aad9ffd66b73475faf2e93721c4064560">More...</a><br /></td></tr>
<tr class="separator:aad9ffd66b73475faf2e93721c4064560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8de250de08791779fc96848a80532fe"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_af8de250de08791779fc96848a80532fe.html#af8de250de08791779fc96848a80532fe">getScanline</a> (int y)</td></tr>
<tr class="memdesc:af8de250de08791779fc96848a80532fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a raw scanline pointer.  <a href="classfabgl_1_1_v_g_a_base_controller_af8de250de08791779fc96848a80532fe.html#af8de250de08791779fc96848a80532fe">More...</a><br /></td></tr>
<tr class="separator:af8de250de08791779fc96848a80532fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0872427e4a351bb3590e8d00096e9cba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a0872427e4a351bb3590e8d00096e9cba.html#a0872427e4a351bb3590e8d00096e9cba">getScreenHeight</a> ()</td></tr>
<tr class="memdesc:a0872427e4a351bb3590e8d00096e9cba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the screen height in pixels.  <a href="classfabgl_1_1_base_display_controller_a0872427e4a351bb3590e8d00096e9cba.html#a0872427e4a351bb3590e8d00096e9cba">More...</a><br /></td></tr>
<tr class="separator:a0872427e4a351bb3590e8d00096e9cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a749df909b39fd096bf6e2813f2f5324c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a749df909b39fd096bf6e2813f2f5324c.html#a749df909b39fd096bf6e2813f2f5324c">getScreenWidth</a> ()</td></tr>
<tr class="memdesc:a749df909b39fd096bf6e2813f2f5324c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the screen width in pixels.  <a href="classfabgl_1_1_base_display_controller_a749df909b39fd096bf6e2813f2f5324c.html#a749df909b39fd096bf6e2813f2f5324c">More...</a><br /></td></tr>
<tr class="separator:a749df909b39fd096bf6e2813f2f5324c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7700dc8f620e8077717a7dfad380a006"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_a7700dc8f620e8077717a7dfad380a006.html#a7700dc8f620e8077717a7dfad380a006">getViewPortCol</a> ()</td></tr>
<tr class="memdesc:a7700dc8f620e8077717a7dfad380a006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines horizontal position of the viewport.  <a href="classfabgl_1_1_v_g_a_base_controller_a7700dc8f620e8077717a7dfad380a006.html#a7700dc8f620e8077717a7dfad380a006">More...</a><br /></td></tr>
<tr class="separator:a7700dc8f620e8077717a7dfad380a006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5308b6853d3778845649f08832e96535"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a5308b6853d3778845649f08832e96535.html#a5308b6853d3778845649f08832e96535">getViewPortHeight</a> ()</td></tr>
<tr class="memdesc:a5308b6853d3778845649f08832e96535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines vertical size of the viewport.  <a href="classfabgl_1_1_base_display_controller_a5308b6853d3778845649f08832e96535.html#a5308b6853d3778845649f08832e96535">More...</a><br /></td></tr>
<tr class="separator:a5308b6853d3778845649f08832e96535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3c644aa87711f0b5883758454fb70df"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_aa3c644aa87711f0b5883758454fb70df.html#aa3c644aa87711f0b5883758454fb70df">getViewPortRow</a> ()</td></tr>
<tr class="memdesc:aa3c644aa87711f0b5883758454fb70df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines vertical position of the viewport.  <a href="classfabgl_1_1_v_g_a_base_controller_aa3c644aa87711f0b5883758454fb70df.html#aa3c644aa87711f0b5883758454fb70df">More...</a><br /></td></tr>
<tr class="separator:aa3c644aa87711f0b5883758454fb70df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69dd55b31e9c284aeec6f2b91a8da525"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a69dd55b31e9c284aeec6f2b91a8da525.html#a69dd55b31e9c284aeec6f2b91a8da525">getViewPortWidth</a> ()</td></tr>
<tr class="memdesc:a69dd55b31e9c284aeec6f2b91a8da525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines horizontal size of the viewport.  <a href="classfabgl_1_1_base_display_controller_a69dd55b31e9c284aeec6f2b91a8da525.html#a69dd55b31e9c284aeec6f2b91a8da525">More...</a><br /></td></tr>
<tr class="separator:a69dd55b31e9c284aeec6f2b91a8da525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37da1545d5037b279fbb10c622121427"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a37da1545d5037b279fbb10c622121427.html#a37da1545d5037b279fbb10c622121427">isDoubleBuffered</a> ()</td></tr>
<tr class="memdesc:a37da1545d5037b279fbb10c622121427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether <a class="el" href="classfabgl_1_1_bitmapped_display_controller.html" title="Represents the base abstract class for bitmapped display controllers.">BitmappedDisplayController</a> is on double buffered mode.  <a href="classfabgl_1_1_bitmapped_display_controller_a37da1545d5037b279fbb10c622121427.html#a37da1545d5037b279fbb10c622121427">More...</a><br /></td></tr>
<tr class="separator:a37da1545d5037b279fbb10c622121427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d6a17833353e05e7470e4c10824b98"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a15d6a17833353e05e7470e4c10824b98.html#a15d6a17833353e05e7470e4c10824b98">isDoubleBufferedEnabled</a> ()</td></tr>
<tr class="memdesc:a15d6a17833353e05e7470e4c10824b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether <a class="el" href="classfabgl_1_1_bitmapped_display_controller.html" title="Represents the base abstract class for bitmapped display controllers.">BitmappedDisplayController</a> is on double buffered mode and it is actually enabled.  <a href="classfabgl_1_1_bitmapped_display_controller_a15d6a17833353e05e7470e4c10824b98.html#a15d6a17833353e05e7470e4c10824b98">More...</a><br /></td></tr>
<tr class="separator:a15d6a17833353e05e7470e4c10824b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b1a12e58ff77ea6231bbd4fcc19422"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_ae1b1a12e58ff77ea6231bbd4fcc19422.html#ae1b1a12e58ff77ea6231bbd4fcc19422">moveScreen</a> (int offsetX, int offsetY)</td></tr>
<tr class="memdesc:ae1b1a12e58ff77ea6231bbd4fcc19422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves screen by specified horizontal and vertical offset.  <a href="classfabgl_1_1_v_g_a_base_controller_ae1b1a12e58ff77ea6231bbd4fcc19422.html#ae1b1a12e58ff77ea6231bbd4fcc19422">More...</a><br /></td></tr>
<tr class="separator:ae1b1a12e58ff77ea6231bbd4fcc19422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b34c94e321e3cdd1f027e93a11bec91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enumerations_ga03403b592cc00776d70bc5ad6c177276.html#ga03403b592cc00776d70bc5ad6c177276">NativePixelFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_paletted_controller_a4b34c94e321e3cdd1f027e93a11bec91.html#a4b34c94e321e3cdd1f027e93a11bec91">nativePixelFormat</a> ()</td></tr>
<tr class="memdesc:a4b34c94e321e3cdd1f027e93a11bec91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the native pixel format used by this display.  <a href="classfabgl_1_1_v_g_a_paletted_controller_a4b34c94e321e3cdd1f027e93a11bec91.html#a4b34c94e321e3cdd1f027e93a11bec91">More...</a><br /></td></tr>
<tr class="separator:a4b34c94e321e3cdd1f027e93a11bec91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94887c6019244300620e71d52e61a554"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a94887c6019244300620e71d52e61a554.html#a94887c6019244300620e71d52e61a554">processPrimitives</a> ()</td></tr>
<tr class="memdesc:a94887c6019244300620e71d52e61a554"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws immediately all primitives in the queue.  <a href="classfabgl_1_1_bitmapped_display_controller_a94887c6019244300620e71d52e61a554.html#a94887c6019244300620e71d52e61a554">More...</a><br /></td></tr>
<tr class="separator:a94887c6019244300620e71d52e61a554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb689cfc2364a4d66e3ac3368146c70d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_aeb689cfc2364a4d66e3ac3368146c70d.html#aeb689cfc2364a4d66e3ac3368146c70d">refreshSprites</a> ()</td></tr>
<tr class="memdesc:aeb689cfc2364a4d66e3ac3368146c70d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forces the sprites to be updated.  <a href="classfabgl_1_1_bitmapped_display_controller_aeb689cfc2364a4d66e3ac3368146c70d.html#aeb689cfc2364a4d66e3ac3368146c70d">More...</a><br /></td></tr>
<tr class="separator:aeb689cfc2364a4d66e3ac3368146c70d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad968eec19f2e3663a5431b96894636df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_ad968eec19f2e3663a5431b96894636df.html#ad968eec19f2e3663a5431b96894636df">removeSprites</a> ()</td></tr>
<tr class="memdesc:ad968eec19f2e3663a5431b96894636df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empties the list of active sprites.  <a href="classfabgl_1_1_bitmapped_display_controller_ad968eec19f2e3663a5431b96894636df.html#ad968eec19f2e3663a5431b96894636df">More...</a><br /></td></tr>
<tr class="separator:ad968eec19f2e3663a5431b96894636df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a94fd39f8c9245ed51545f9dd6ce7f6ee.html#a94fd39f8c9245ed51545f9dd6ce7f6ee">setMouseCursor</a> (<a class="el" href="structfabgl_1_1_cursor.html">Cursor</a> *cursor)</td></tr>
<tr class="memdesc:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor and make it visible.  <a href="classfabgl_1_1_bitmapped_display_controller_a94fd39f8c9245ed51545f9dd6ce7f6ee.html#a94fd39f8c9245ed51545f9dd6ce7f6ee">More...</a><br /></td></tr>
<tr class="separator:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a43a95ed39cce3e065407d1e7a30b2f4f.html#a43a95ed39cce3e065407d1e7a30b2f4f">setMouseCursor</a> (<a class="el" href="group___enumerations_gab91da6221ce0fc3b24f077fb4b775b2c.html#gab91da6221ce0fc3b24f077fb4b775b2c">CursorName</a> cursorName)</td></tr>
<tr class="memdesc:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor from a set of predefined cursors.  <a href="classfabgl_1_1_bitmapped_display_controller_a43a95ed39cce3e065407d1e7a30b2f4f.html#a43a95ed39cce3e065407d1e7a30b2f4f">More...</a><br /></td></tr>
<tr class="separator:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0897f2355f7462b5ab003083418e3b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_ae0897f2355f7462b5ab003083418e3b4.html#ae0897f2355f7462b5ab003083418e3b4">setMouseCursorPos</a> (int <a class="el" href="fabutils_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, int <a class="el" href="fabutils_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>)</td></tr>
<tr class="memdesc:ae0897f2355f7462b5ab003083418e3b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor position.  <a href="classfabgl_1_1_bitmapped_display_controller_ae0897f2355f7462b5ab003083418e3b4.html#ae0897f2355f7462b5ab003083418e3b4">More...</a><br /></td></tr>
<tr class="separator:ae0897f2355f7462b5ab003083418e3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a04bb9738fc5fc7f6e3fb4cbe90f37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a16_controller_a35a04bb9738fc5fc7f6e3fb4cbe90f37.html#a35a04bb9738fc5fc7f6e3fb4cbe90f37">setPaletteItem</a> (int index, <a class="el" href="structfabgl_1_1_r_g_b888.html">RGB888</a> const &amp;color)</td></tr>
<tr class="memdesc:a35a04bb9738fc5fc7f6e3fb4cbe90f37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines color of specified palette item.  <a href="classfabgl_1_1_v_g_a16_controller_a35a04bb9738fc5fc7f6e3fb4cbe90f37.html#a35a04bb9738fc5fc7f6e3fb4cbe90f37">More...</a><br /></td></tr>
<tr class="separator:a35a04bb9738fc5fc7f6e3fb4cbe90f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a215fe86b599a128dd115dae81d84fab8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_paletted_controller_a215fe86b599a128dd115dae81d84fab8.html#a215fe86b599a128dd115dae81d84fab8">setProcessPrimitivesOnBlank</a> (bool value)</td></tr>
<tr class="memdesc:a215fe86b599a128dd115dae81d84fab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the maximum time allowed to process primitives.  <a href="classfabgl_1_1_v_g_a_paletted_controller_a215fe86b599a128dd115dae81d84fab8.html#a215fe86b599a128dd115dae81d84fab8">More...</a><br /></td></tr>
<tr class="separator:a215fe86b599a128dd115dae81d84fab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac60f74ade23bfba42ef0985635589d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_a2ac60f74ade23bfba42ef0985635589d.html#a2ac60f74ade23bfba42ef0985635589d">setResolution</a> (char const *modeline, int viewPortWidth=-1, int viewPortHeight=-1, bool doubleBuffered=false)</td></tr>
<tr class="memdesc:a2ac60f74ade23bfba42ef0985635589d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets current resolution using linux-like modeline.  <a href="classfabgl_1_1_v_g_a_base_controller_a2ac60f74ade23bfba42ef0985635589d.html#a2ac60f74ade23bfba42ef0985635589d">More...</a><br /></td></tr>
<tr class="separator:a2ac60f74ade23bfba42ef0985635589d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a75ba732cc6ae90f53757b588f6c75d7e.html#a75ba732cc6ae90f53757b588f6c75d7e">setSprites</a> (T *sprites, int count)</td></tr>
<tr class="memdesc:a75ba732cc6ae90f53757b588f6c75d7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the list of active sprites.  <a href="classfabgl_1_1_bitmapped_display_controller_a75ba732cc6ae90f53757b588f6c75d7e.html#a75ba732cc6ae90f53757b588f6c75d7e">More...</a><br /></td></tr>
<tr class="separator:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770ea50d044c8c792185fbcb5b766736"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_base_controller_a770ea50d044c8c792185fbcb5b766736.html#a770ea50d044c8c792185fbcb5b766736">shrinkScreen</a> (int shrinkX, int shrinkY)</td></tr>
<tr class="memdesc:a770ea50d044c8c792185fbcb5b766736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces or expands screen size by the specified horizontal and vertical offset.  <a href="classfabgl_1_1_v_g_a_base_controller_a770ea50d044c8c792185fbcb5b766736.html#a770ea50d044c8c792185fbcb5b766736">More...</a><br /></td></tr>
<tr class="separator:a770ea50d044c8c792185fbcb5b766736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1837955f56453a1a351577c189bdfad6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_paletted_controller_a1837955f56453a1a351577c189bdfad6.html#a1837955f56453a1a351577c189bdfad6">suspendBackgroundPrimitiveExecution</a> ()</td></tr>
<tr class="memdesc:a1837955f56453a1a351577c189bdfad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends drawings.  <a href="classfabgl_1_1_v_g_a_paletted_controller_a1837955f56453a1a351577c189bdfad6.html#a1837955f56453a1a351577c189bdfad6">More...</a><br /></td></tr>
<tr class="separator:a1837955f56453a1a351577c189bdfad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcd394fa7a4ba17d39e8086ae358d751"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a_paletted_controller_abcd394fa7a4ba17d39e8086ae358d751.html#abcd394fa7a4ba17d39e8086ae358d751">suspendDoubleBuffering</a> (bool value)</td></tr>
<tr class="memdesc:abcd394fa7a4ba17d39e8086ae358d751"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends or resumes double buffering.  <a href="classfabgl_1_1_v_g_a_paletted_controller_abcd394fa7a4ba17d39e8086ae358d751.html#abcd394fa7a4ba17d39e8086ae358d751">More...</a><br /></td></tr>
<tr class="separator:abcd394fa7a4ba17d39e8086ae358d751"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae9f4b165786b49b2fa24881030f476b8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classfabgl_1_1_v_g_a16_controller.html">VGA16Controller</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_v_g_a16_controller_ae9f4b165786b49b2fa24881030f476b8.html#ae9f4b165786b49b2fa24881030f476b8">instance</a> ()</td></tr>
<tr class="memdesc:ae9f4b165786b49b2fa24881030f476b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the singleton instance of <a class="el" href="classfabgl_1_1_v_g_a16_controller.html" title="Represents the VGA 16 colors bitmapped controller.">VGA16Controller</a> class.  <a href="classfabgl_1_1_v_g_a16_controller_ae9f4b165786b49b2fa24881030f476b8.html#ae9f4b165786b49b2fa24881030f476b8">More...</a><br /></td></tr>
<tr class="separator:ae9f4b165786b49b2fa24881030f476b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a6b94fdf3692083a41291eec4920c62d2"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a6b94fdf3692083a41291eec4920c62d2.html#a6b94fdf3692083a41291eec4920c62d2">queueSize</a> = 1024</td></tr>
<tr class="memdesc:a6b94fdf3692083a41291eec4920c62d2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structfabgl_1_1_size.html" title="Represents a bidimensional size.">Size</a> of display controller primitives queue.  <a href="classfabgl_1_1_bitmapped_display_controller_a6b94fdf3692083a41291eec4920c62d2.html#a6b94fdf3692083a41291eec4920c62d2">More...</a><br /></td></tr>
<tr class="separator:a6b94fdf3692083a41291eec4920c62d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Represents the VGA 16 colors bitmapped controller. </p>
<p >This VGA controller allows just 16 colors, but requires less (1/2) RAM than <a class="el" href="classfabgl_1_1_v_g_a_controller.html" title="Represents the VGA bitmapped controller.">VGAController</a>, at the same resolution. Each pixel is represented by 4 bits, which is an index to a palette of 16 colors. Each byte of the frame buffer contains two pixels. For example, a frame buffer of 640x480 requires about 153K of RAM.</p>
<p ><a class="el" href="classfabgl_1_1_v_g_a16_controller.html" title="Represents the VGA 16 colors bitmapped controller.">VGA16Controller</a> output is a CPU intensive process and consumes up to 19% of one CPU core (measured at 640x480x60Hz). Anyway this allows to have more RAM free for your application.</p>
<p >This example initializes VGA Controller with 64 colors (16 visible at the same time) at 640x480: </p><pre class="fragment">fabgl::VGA16Controller displayController;
// the default assigns GPIO22 and GPIO21 to Red, GPIO19 and GPIO18 to Green, GPIO5 and GPIO4 to Blue, GPIO23 to HSync and GPIO15 to VSync
displayController.begin();
displayController.setResolution(VGA_640x480_60Hz);
</pre> <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_others_2_keyboard_virtual_keys_2_keyboard_virtual_keys_8ino-example.html#_a0">Others/KeyboardVirtualKeys/KeyboardVirtualKeys.ino</a>, <a class="el" href="_v_g_a_2_altair8800_2_altair8800_8ino-example.html#_a7">VGA/Altair8800/Altair8800.ino</a>, <a class="el" href="_v_g_a_2_audio_2_audio_8ino-example.html#_a0">VGA/Audio/Audio.ino</a>, <a class="el" href="_v_g_a_2_graphical_user_interface_2_graphical_user_interface_8ino-example.html#_a0">VGA/GraphicalUserInterface/GraphicalUserInterface.ino</a>, <a class="el" href="_v_g_a_2_hardware_test_2_hardware_test_8ino-example.html#_a0">VGA/HardwareTest/HardwareTest.ino</a>, <a class="el" href="_v_g_a_2_multitasking_c_p_m_2_multitasking_c_p_m_8ino-example.html#_a0">VGA/MultitaskingCPM/MultitaskingCPM.ino</a>, <a class="el" href="_v_g_a_2_simple_terminal_out_2_simple_terminal_out_8ino-example.html#_a0">VGA/SimpleTerminalOut/SimpleTerminalOut.ino</a>, <a class="el" href="_v_g_a_2_songs_2_songs_8ino-example.html#_a0">VGA/Songs/Songs.ino</a>, and <a class="el" href="_v_g_a_2_sound_chip_simulator_2_sound_chip_simulator_8ino-example.html#_a0">VGA/SoundChipSimulator/SoundChipSimulator.ino</a>.</dd>
</dl>

<p class="definition">Definition at line <a class="el" href="vga16controller_8h_source.html#l00082">82</a> of file <a class="el" href="vga16controller_8h_source.html">vga16controller.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="vga16controller_8h_source.html">vga16controller.h</a></li>
<li><a class="el" href="vga16controller_8cpp_source.html">vga16controller.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>fabgl</b></li><li class="navelem"><a class="el" href="classfabgl_1_1_v_g_a16_controller.html">VGA16Controller</a></li>
    <li class="footer">Generated on Mon Aug 29 2022 13:52:06 for FabGL by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3 </li>
  </ul>
</div>
</body>
</html>
